

#ifndef __ASTAR_FINDER_H__
#define __ASTAR_FINDER_H__

#include "vertex.h"

/***********************************************************************************/

#define PF_DEPTH 8192
enum struct options { depth };
typedef void (*neighbors)(const vertex*, size_t, void*);

/***********************************************************************************/

void set_options(options what, size_t value = PF_DEPTH);
void push_vertex(size_t index, const vertex* pv, size_t g, size_t h);
const vertex* path_find(size_t begin, size_t end, neighbors fn, void* ud = nullptr);

/***********************************************************************************/

#endif //__ASTAR_FINDER_H__
